/*

    range.h - header of the range class
    Author Julio Agustin Barrera Mendoza
    Copyright (C) 2009 CINVESTAV-IPN.

    This program is free software; you can redistribute it and/or modify it 
    under the terms of the GNU General Public License as published by 
    the Free Software Foundation; either version 2 of the License, 
    or (at your option) any later version.

    This program is distributed in the hope that it will be useful, 
    but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 
    FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

    You should have received a copy of the GNU General Public License along with this program; 
    if not, write to the Free Software Foundation, Inc., 59 Temple Place, 
    Suite 330, Boston, MA 02111-1307 USA

 */

#ifndef RANGE_H
#define RANGE_H

#include <cmath>

// ------------------------------------------------------------------
// CLASS Range
// ------------------------------------------------------------------

class Range
{
  public:
    Range();
    Range(long double inMinimum, long double inMaximum);
    ~Range();
    
    long double &Minimum(void) {return minimum;}
    const long double &Minimum(void) const {return minimum;}

    long double &Maximum(void) {return maximum;}
    const long double &Maximum(void) const {return maximum;}

    long double Length(void) {return fabsl(maximum - minimum);}

  private:
    long double minimum;
    long double maximum;
};

#endif

